#pragma once

#include "ScenePrecompiled.hxx"

namespace Eifersucht
{
	template <class _Ty> class UniqueChild
	{
	protected:

		inline UniqueChild( _No_args_ ) { m_uId = s_NextUniqueId++; }
		static uint32 s_NextUniqueId;
		uint32 m_uId;

	public:

		inline uint32 UniqueId( _No_args_ ) { return m_uId; }
		~UniqueChild( _No_args_ ) { } 

		typedef _Ty ChildType;

	};

	template <class _Ty> uint32 UniqueChild<_Ty>::s_NextUniqueId = 1ui32;
};